Click here to play an emulated version of this game in your browser.
Spacewar (stylized "Spacewar!") is one of the earliest digital computer games. It is a two-player game, with each player taking control of a starship and attempting to destroy the other. A star in the center of the screen pulls on both ships and requires maneuvering to avoid falling into it. In an emergency, a player can enter hyperspace to return at a random location on the screen, but only at the risk of exploding if it is used too often.
Steve "Slug" Russell, Martin "Shag" Graetz, and Wayne Wiitanen of the fictitious "Hingham Institute" conceived of the game in 1961, with the intent of implementing it on a DEC PDP-1 at the Massachusetts Institute of Technology. After Alan Kotok obtained some sine and cosine routines from DEC, Russell began coding, and by February 1962 had produced his first version. It took approximately 200 hours of work to create the initial version. Additional features were developed by Dan Edwards, Peter Samson, and Graetz.
Between 1959 and 1961, a collection of interactive graphical programs had been created on the TX-0 experimental computer at MIT. These included Mouse in the Maze and Tic-Tac-Toe.
In the fall of 1961, a PDP-1 was installed in the "kludge room" of the Electrical Engineering Department, and even before its arrival, a group of students at a tenement on Hingham Street had been brainstorming ideas for programs that would demonstrate the new computer's capabilities in a compelling way. "We had this brand new PDP-1," Russell told Rolling Stone in a 1972 interview. "Somebody had built some little pattern-generating programs which made interesting patterns like a kaleidoscope. Not a very good demonstration. Here was this display that could do all sorts of good things! So we started talking about it, figuring what would be interesting displays. We decided that probably you could make a two-dimensional maneuvering sort of thing, and decided that naturally the obvious thing to do was spaceships." Russell had just finished reading the Lensman series by E.E. Smith and thought the stories would make a good basis for the program. "His heroes had a strong tendency to get pursued by the villain across the galaxy and have to invent their way out of their problem while they were being pursued. That sort of action was the thing that suggested Spacewar. He had some very glowing descriptions of spaceship encounters and space fleet maneuvers." Other influences cited by Graetz include E.E. Smith's Skylark novels and Japanese sci-fi tokusatsu movies.
The basic gameplay of Spacewar involves two armed spaceships called "the needle" and "the wedge" attempting to shoot one another while maneuvering in the gravity well of a star. The ships fire missiles that are unaffected by gravity (due to a lack of processing time). Each ship has a limited number of missiles and a limited supply of fuel. Each player controls one of the ships, and must attempt to simultaneously shoot at the other ship and avoid colliding with the star. The hyperspace feature can be used as a last-ditch means to evade enemy missiles, but the reentry from hyperspace would occur at a random location and there is an increasing probability of the ship exploding with each use.
Player controls include clockwise and counterclockwise rotation, thrust, fire, and hyperspace. Initially these were controlled using the front-panel test switches, with four switches for each player, but these proved to wear out very quickly under normal gameplay, and the location of the switches left one player off to one side of the CRT display and visually disadvantaged as a result. Most sites used custom control boxes wired into the same switches, although joysticks and other inputs were also used.
Some notes and further reading on the PDP-1, emulation and Spacewar!
Bringing the experience of Spacewar! on the PDP-1 to modern times presents a large range of challenges. The DEC PDP-1, a "mini-computer" that cost the equivalent of a million dollars in 1959, was not just a keyboard and screen but a variety of related components that showed status lights and printed out information using a typewriter. A total of around 50 were eventually sold over the lifetime of the product (roughly 10 years, 1959-1969). The Computer History Museum in Mountain View, California restored a PDP-1 to working order, allowing for an in-person experience of the machine on special occasions, and other PDP-1s have survived in various states of functionality or at least display.
To emulate the PDP-1, the MAME/MESS team
(who did the hard work of developing the original program that the JSMESS emulator is based on) chose to include a variety of components on a single output screen, with the round cathode-ray tube display in the left corner, the output of the printer along the bottom, and the large collections of switches and lights in the upper right. While vastly different from the original, this version allows display of many of the core functions of the PDP-1 to be seen by a user.
The PDP-1 used physical switches to change program states, a functionality done by hitting certain keys on the keyboard. The same goes for the unusual method to indicate the "Control Panel" is being activated (holding down the LEFT CONTROL key). The program uses .RIM files, which are derived from the original paper tape medium the programs were available.
The Internet Archive has a large collection of PDP-1 related documentation, mirrored from the ongoing Bitsavers
project. Among the PDP-1 related documents:
Spacewar! has an unquestioned place in the dawn of the computer age and the history of computer games. Punctuated throughout the mid 20th century are examples of computers and technology being used for games or amusement (Including NIM, Tennis for Two, Mouse in the Maze, and others), but Spacewar! and its appearance on a PDP-1 allowed not only the transfer of the program to other installations, but computer instructions that could allow it to be "ported" to a variety of platforms, up to and including the JSMESS emulator, which is running the original code from 1961, stored in a .RIM binary file and being read from by the virtual tape machine located in the emulator.
The game has no single-player mode, that is, no way for the computer to play one of the two roles to present challenge to a single person playing the game. Processing power on the machine is being used to such a degree that the gravity simulation does not affect shots because of the limited computing resources. Many of the early programs and video games did not provide a computer-generated "opponent" but were instead facilitators for human-against-human challenges. The JSMESS emulator uses the keyboard to simulate the different buttons for the game, but the original Spacewar! had early game controllers hacked together to allow players to sit near each other and play.
A version of Spacewar! turned into a coin-operated videogame provided one of the better selling coin-operated games in the early 1970s.
Much thanks are owed many different sets of folks, including the MESS/MAME team, the JSMESS team, and the original programmers of Spacewar!
Photo of Steve "Slug" Russell with a restored PDP-1 at the Computer History Museum taken by Alex Handy.